xen/arm: Add sb instruction support
authorBertrand Marquis <bertrand.marquis@arm.com>
Mon, 13 Jun 2022 12:53:12 +0000 (13:53 +0100)
committerStefano Stabellini <stefano.stabellini@xilinx.com>
Thu, 16 Jun 2022 00:33:40 +0000 (17:33 -0700)
commitfabbe7e0feae3bb2a93eba272e19bbb2baa12813
tree77a457584a305430442aa0fda40e0f42f850b7de
parentd9094358f821cd24ac9d9799b7fe66cc3d614f80
xen/arm: Add sb instruction support

This patch is adding sb instruction support when it is supported by a
CPU on arm64.
A new cpu feature capability system is introduced to enable alternative
code using sb instruction when it is supported by the processor. This is
decided based on the isa64 system register value and use a new hardware
capability ARM_HAS_SB.

The sb instruction is encoded using its hexadecimal value to avoid
recursive macro and support old compilers not having support for sb
instruction.

Arm32 instruction support is added but it is not enabled at the moment
due to the lack of hardware supporting it.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
xen/arch/arm/cpufeature.c
xen/arch/arm/include/asm/cpufeature.h
xen/arch/arm/include/asm/macros.h
xen/arch/arm/setup.c
xen/arch/arm/smpboot.c